﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GISCore.Geometry.Partition
{
    public interface IReconstuctionable
    {
        //IEnumerable<PostPolygon> reconstruct(IEnumerable<Line> lines, IEnumerable<IntersectPoint> intersectPoints, IEnumerable<GridIntersectPoint> topGridIntersectPoints, IEnumerable<GridIntersectPoint> bottomGridIntersectPoints, IEnumerable<GridIntersectPoint> leftGridIntersectPoints, IEnumerable<GridIntersectPoint> rightGridIntersectPoints,double xmin,double xmax,double ymin,double ymax);
        IEnumerable<PostPolygon> reconstruct(IEnumerable<Line> lines, ICellable cell, double xmin, double xmax, double ymin, double ymax);
        IEnumerable<PostPolygon> reconstruct(IEnumerable<Line> lines, IEnumerable<IntersectPoint> intersectPoints, IEnumerable<GridIntersectPoint> topGridIntersectPoints, IEnumerable<GridIntersectPoint> bottomGridIntersectPoints, IEnumerable<GridIntersectPoint> leftGridIntersectPoints, IEnumerable<GridIntersectPoint> rightGridIntersectPoints, out IEnumerable<LinkedPoint> topMergingIntersectPoints, out IEnumerable<LinkedPoint> bottomMergingIntersectPoints, out IEnumerable<LinkedPoint> leftMergingIntersectPoints, out IEnumerable<LinkedPoint> rightMergingIntersectPoints, double xmin, double xmax, double ymin, double ymax);

    }
}
